home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lantools / mwftpd / manual.txt < prev    next >
Encoding:
Text File  |  1992-08-23  |  62.4 KB  |  1,423 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.                                          FTPD
  24.  
  25.                     An FTP Daemon NLM for Novell Netware 386 3.11
  26.  
  27.  
  28.  
  29.                                  Administrators Guide
  30.  
  31.  
  32.  
  33.  
  34.                              Copyright (C) 1992 MurkWorks
  35.                                  All Rights Reserved
  36.                                     August 9, 1992
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.                MurkWorks
  46.                P.O. Box 631
  47.                Potsdam, NY 13676 USA
  48.  
  49.                info@murkworks.com
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.           FTPD V1.31 Administrators Guide
  58.             Copyright 1992 MurkWorks
  59.           All Rights Reserved
  60.  
  61.           This software is not shareware, freeware nor public domain. It has
  62.           been provided to you in a limited timed demo format. You may use this
  63.           software without obligation until the demonstration period expires.
  64.           When the demonstration period has expired, the software will no longer
  65.           function. If you wish to continue to use the software you must
  66.           register it with MurkWorks and pay a per server license fee. See the
  67.           accompanying order form for pricing and ordering information. Dis-
  68.           assembly or patching of the software to provide execution beyond the
  69.           end of the demonstration period is expressly forbidden.
  70.  
  71.           Demo Version -- No Warranty
  72.  
  73.           MurkWorks makes no warranty of fitness or suitability for a particular
  74.           purpose. Although we have made every effort to ensure the reliable and
  75.           satisfactory operation of this software, we do not warrant it in any
  76.           way. You the user assume all responsibility in its use and operation.
  77.           MurkWorks shall not be held liable for any loss of any kind.
  78.  
  79.           Licensed Version -- Limited Warranty
  80.  
  81.           If you have registered your copy of the software and paid a license
  82.           fee to MurkWorks, this software is covered by a limited warranty for
  83.           the first sixty (60) days from the date of receipt of the license fee.
  84.           Should the software fail or prove unsatisfactory during that time
  85.           period MurkWorks sole remedy to you will be the reimbursement of your
  86.           license fee. In no event will MurkWorks be held liable to you for any
  87.           damages, including lost profits, lost savings or other incidental or
  88.           consequential damages arising out of the use of this software or the
  89.           inability to use this software.
  90.  
  91.           Trademarks
  92.  
  93.           Novell and Netware are registered trademarks, and Netware NLM, and
  94.           Netware Loadable Module are trademarks of Novell, Inc. Other computer
  95.           and software names are registered trademarks of their respective
  96.           manufacturers.
  97.  
  98.           This product was developed using Network C for NLMs , Novell 's
  99.           toolkit for developing server-based applications for the Netware  3.x
  100.           operating system.
  101.  
  102.           Additional Information
  103.  
  104.           For additional information, write to us via postal mail:
  105.  
  106.                MurkWorks
  107.                P.O. Box 631
  108.                Potsdam, NY 13676  USA
  109.  
  110.           Or send electronic mail to
  111.  
  112.                info@MurkWorks.com
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.                                   Table of Contents
  121.  
  122.  
  123.           Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   1
  124.                Features . . . . . . . . . . . . . . . . . . . . . . . .   1
  125.                System Requirements  . . . . . . . . . . . . . . . . . .   2
  126.  
  127.           Installation  . . . . . . . . . . . . . . . . . . . . . . . .   2
  128.                Quick Start  . . . . . . . . . . . . . . . . . . . . . .   2
  129.                Standard Installation  . . . . . . . . . . . . . . . . .   3
  130.  
  131.           Configuration File  . . . . . . . . . . . . . . . . . . . . .   3
  132.                Class Definitions  . . . . . . . . . . . . . . . . . . .   3
  133.                Addresses  . . . . . . . . . . . . . . . . . . . . . . .   4
  134.                Access Settings  . . . . . . . . . . . . . . . . . . . .   4
  135.                     log . . . . . . . . . . . . . . . . . . . . . . . .   5
  136.                     logfile . . . . . . . . . . . . . . . . . . . . . .   5
  137.                     connect . . . . . . . . . . . . . . . . . . . . . .   5
  138.                     idle  . . . . . . . . . . . . . . . . . . . . . . .   5
  139.                     timerange . . . . . . . . . . . . . . . . . . . . .   6
  140.                Deny . . . . . . . . . . . . . . . . . . . . . . . . . .   6
  141.                Allow  . . . . . . . . . . . . . . . . . . . . . . . . .   7
  142.                Deny/Allow Ordering  . . . . . . . . . . . . . . . . . .   7
  143.                MaxConnections . . . . . . . . . . . . . . . . . . . . .   8
  144.                ScreenDelay  . . . . . . . . . . . . . . . . . . . . . .   8
  145.                LogFile  . . . . . . . . . . . . . . . . . . . . . . . .   8
  146.  
  147.           Operation . . . . . . . . . . . . . . . . . . . . . . . . . .  10
  148.                Command Line Options . . . . . . . . . . . . . . . . . .  10
  149.                Console Commands . . . . . . . . . . . . . . . . . . . .  10
  150.                Monitor Display  . . . . . . . . . . . . . . . . . . . .  11
  151.                Home Directories . . . . . . . . . . . . . . . . . . . .  13
  152.                User Commands  . . . . . . . . . . . . . . . . . . . . .  13
  153.                Anonymous Accounts . . . . . . . . . . . . . . . . . . .  14
  154.                Proxy Connections  . . . . . . . . . . . . . . . . . . .  15
  155.                Security Considerations  . . . . . . . . . . . . . . . .  15
  156.  
  157.           Performance . . . . . . . . . . . . . . . . . . . . . . . . .  18
  158.                How We Test  . . . . . . . . . . . . . . . . . . . . . .  18
  159.                Memory Requirements  . . . . . . . . . . . . . . . . . .  18
  160.                Processor Utilization  . . . . . . . . . . . . . . . . .  19
  161.  
  162.           How to Get Support  . . . . . . . . . . . . . . . . . . . . .  21
  163.  
  164.           Appendix A
  165.                               Sample Configuration File . . . . . . . .  22
  166.  
  167.           Appendix B
  168.                                 Supported FTP Commands  . . . . . . . .  24
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.                                                                           1
  177.  
  178.           Introduction
  179.  
  180.                     Welcome to MurkWorks FTP Daemon NLM for Netware 386.
  181.                     This product provides an efficient and useful FTP
  182.                     daemon NLM for your Netware 386 server. 
  183.  
  184.                     FTP (File Transfer Protocol) is described in RFC959. It
  185.                     provides a mechanism for internet hosts to transfer
  186.                     files in text or binary mode between cooperating
  187.                     systems. FTPD V1.31 supports the most common commands
  188.                     listed in RFC959. For a complete list of supported
  189.                     commands see appendix B.
  190.  
  191.                     This manual assumes that you have a basic understanding
  192.                     of the TCP/IP protocol and a thorough understanding of
  193.                     the NW386 environment. If you do not currently have the
  194.                     TCPIP.NLM module loaded on your Netware server, now
  195.                     would be a good time to review the TCP/IP Transport
  196.                     Supervisor's Guide provided with the NW386 3.11 manual
  197.                     set.
  198.  
  199.           Features
  200.  
  201.                     FTPD.NLM supports the following features:
  202.  
  203.                               Multiple simultaneous service connections
  204.  
  205.                               Real-time monitor display
  206.  
  207.                               Transaction logging
  208.  
  209.                               Access control by remote IP address, target
  210.                               server and user
  211.  
  212.                               Supports NW2.15 servers through `proxy' ftp
  213.                               service
  214.  
  215.                               Anonymous connections
  216.  
  217.                               Idle and connect timeouts, restricted access
  218.                               times, etc
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.                                                                           2
  227.  
  228.           System Requirements
  229.  
  230.                     NLMS
  231.  
  232.                     The FTPD NLM uses both CLIB.NLM and the TCPIP.NLM. When
  233.                     loading the TCPIP.NLM, CLIB will be automatically
  234.                     loaded. Follow the procedures outlined in the TCP/IP
  235.                     Transport Supervisor's Guide when installing and
  236.                     configuring the TCPIP nlm. You will need to provide at
  237.                     least one IP address for your Netware server. 
  238.  
  239.                     MEMORY
  240.  
  241.                     A typical Netware 386 server with 4 megabytes of RAM is
  242.                     quite sufficient to operate the FTPD NLM. A detailed
  243.                     analysis of the memory required per connection is
  244.                     described in the Performance section of this manual.
  245.  
  246.           Installation
  247.  
  248.           Quick Start
  249.  
  250.                     If you're impatient and don't want to read through this
  251.                     manual, follow the instructions in this section to get
  252.                     the NLM up and running as quickly as possible. Without
  253.                     a configuration file, the FTPD NLM will not provide any
  254.                     access control beyond standard Novell password
  255.                     checking. This may be sufficient for your needs. You
  256.                     can always follow the full installation instructions
  257.                     later if you so desire.
  258.  
  259.                     This program is distributed with the file:
  260.  
  261.                          ftpd.nlm  -    The FTPD NLM
  262.  
  263.                     If you have licensed your copy of the FTPD NLM, you
  264.                     will have also received the file:
  265.  
  266.                          ftpd.key  -    Security key file
  267.  
  268.                     To install the FTPD NLM on your Netware 386 server, log
  269.                     into the server as supervisor and copy the ftpd.nlm
  270.                     file to sys:system. If you have licensed your copy, you
  271.                     should also copy the file ftpd.key to sys:system.
  272.  
  273.                     If you're in a hurry, load the FTPD NLM by issuing the
  274.                     follow command on the NW386 console:
  275.  
  276.                          load ftpd
  277.  
  278.                     otherwise, create a configuration file as described in
  279.                     the Configuration File section before loading the NLM
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.                                                                           3
  288.  
  289.                     with the load command.
  290.  
  291.           Standard Installation
  292.  
  293.                     If you wish to make use of the additional security
  294.                     features of the FTPD NLM, you will have to create a
  295.                     configuration file. The next section of this manual
  296.                     describes how to create a configuration file.
  297.  
  298.                     After creating the configuration file, follow the
  299.                     instructions described in the Quick Start section shown
  300.                     above.
  301.  
  302.  
  303.           Configuration File
  304.  
  305.                     The file ftpd.cfg is provided in the distribution as an
  306.                     example only. Do not copy this file into the sys:system
  307.                     directory.  Instead, you should print this file on a
  308.                     printer and use it as a reference when creating your
  309.                     own ftpd.cfg file. This sample file is also listed in
  310.                     the appendix of this manual.
  311.  
  312.                     The configuration file uses a simple ASCII format with
  313.                     one command per line. Lines which begin with the pound
  314.                     symbol (#) are comment lines and are ignored.
  315.  
  316.                     Use a suitable text editor to create a file called
  317.                     ftpd.cfg in the sys:system directory. This file will
  318.                     control how the FTPD NLM operates. Read this section
  319.                     carefully to get the most out of your software.
  320.  
  321.                     If you create a new ftpd.cfg file or alter an existing
  322.                     one, you will have to either reload the FTPD NLM or
  323.                     issue the ftpd reconfig command before the changes will
  324.                     take effect.
  325.  
  326.           Class Definitions
  327.  
  328.                     When a remote client connects to the FTPD NLM for
  329.                     service, its internet address (IP Address) or internet
  330.                     name can be used to place it in an access class. This
  331.                     allows connections to be grouped based on whether they
  332.                     are `local' or `remote'.  For example, a university may
  333.                     wish to have one access class defined for on campus
  334.                     clients, and a second one defined for off campus users.
  335.  
  336.  
  337.                     Classes can have a list of valid servers and users, as
  338.                     well as default settings for transaction logging, time
  339.                     limits and so forth.
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.                                                                           4
  348.  
  349.                     A new class is defined with the class command, as
  350.                     follows
  351.  
  352.                          class     classname
  353.  
  354.                     where classname is the name of the class. This name may
  355.                     be anything meaningful to the supervisor. There is one
  356.                     special class whose name is default. This class is used
  357.                     whenever an incoming connection does not match any
  358.                     other listed class.
  359.  
  360.           Addresses
  361.  
  362.                     Following the class command is a list of access control
  363.                     commands and the class definition command: address. The
  364.                     address command controls which remote connections are
  365.                     grouped into the specified class. The address command
  366.                     takes one argument, an IP Address or IP Name:
  367.  
  368.                          address   129.134.*.*
  369.                          address   *.murkworks.com
  370.  
  371.                     The address command must follow a class command, and
  372.                     may appear more than once in a given class. The asterix
  373.                     (*) indicates a wild-card pattern, which means any
  374.                     value may occupy its space. The address command is not
  375.                     allowed in the default class.
  376.  
  377.                     When a client connects to the FTPD NLM, the class list
  378.                     is searched for a match. The first class found which
  379.                     has an address pattern that matches the client's IP
  380.                     address or name is used for access control. 
  381.  
  382.                     Novell Netware 386 keeps its IP Name to IP Address
  383.                     mapping information in the file sys:etc/hosts  This
  384.                     file may not contain all internet names and addresses.
  385.                     Therefore it is important to specify an IP address in
  386.                     addition to the IP name. If the client's IP name is not
  387.                     listed in the hosts file, the FTPD NLM will use the
  388.                     client's IP address to match against.
  389.  
  390.           Access Settings
  391.  
  392.                     Each class may have default access control settings.
  393.                     The settings command determines how clients may access
  394.                     the Netware server. The settings command has its own
  395.                     sub-commands, which generally appear as follows:
  396.  
  397.                          settings  [sub-commands]
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.                                                                           5
  406.  
  407.                     Where [sub-commands] may be one or more of the
  408.                     following:
  409.                               Command        Argument
  410.  
  411.                               log            count
  412.                               logfile             log_file_name
  413.                               connect        connect_time_in_minutes
  414.                               idle           idle_timeout_in_minutes
  415.                               timerange      allowed_access_timerange
  416.                               readonly
  417.  
  418.                     All sub-commands and their arguments should appear on
  419.                     the same line as the settings command, however settings
  420.                     can be continued on the next line by inserting a plus
  421.                     symbol (+) at the end of each continued line. The plus
  422.                     symbol may not appear between sub-commands and their
  423.                     arguments. See the sample configuration file for an
  424.                     example of setting continuations.
  425.  
  426.                     The log  count  setting indicates that client
  427.                     transactions for this class should be logged to the
  428.                     logfile. The number of transactions to be logged is not
  429.                     to exceed count entries. When this setting is in
  430.                     effect, transactions such as login, logout, read,
  431.                     write, delete, rmdir and mkdir are recorded in the log
  432.                     file sys:system\ftpd.log.  If you only want a record of
  433.                     login and logout times, use a log count of zero (0).
  434.  
  435.                          Example:  log  0
  436.  
  437.                     The logfile setting specifies the name of the file in
  438.                     which log entries should be stored for this class. This
  439.                     setting over-rides the system-wide setting logfile (see
  440.                     below) if specified. The file name must be a fully
  441.                     specified name which includes the volume name.
  442.  
  443.                          Example:  logfile        vol1:usr/anon/logfile.log
  444.  
  445.                     The connect  connect_time_limit command specifies the
  446.                     maximum connect time for any client in this class. 
  447.                     After the time limit expires, the client will receive
  448.                     an error message and be automatically disconnected by
  449.                     the server at the completion of any pending command. 
  450.                     The time limit is specified in minutes. The limited
  451.                     demo version of the NLM enforces a maximum connect time
  452.                     of five minutes.
  453.  
  454.  
  455.                     The idle  idle_timeout_limit specifies the maximum idle
  456.                     time allowed for any client in this class. If the
  457.                     client does not issue a command within the idle time
  458.                     limit, the client will receive an error message and be
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.                                                                           6
  467.  
  468.                     automatically disconnected. This command is useful in
  469.                     eliminating `dead' connections due to failed internet
  470.                     connectivity. However, too short of an idle timeout may
  471.                     cause unintended service disruption to the client. The
  472.                     time limit is specified in minutes.
  473.  
  474.                     The timerange  allowed_access_timerange controls when
  475.                     clients within this class may access the Novell Netware
  476.                     server. The format of allowed_access_timerange is:
  477.  
  478.                          timerange startday-endday/starthour-endhour
  479.  
  480.                     For example:
  481.  
  482.                          timerange mon-fri/8-17
  483.  
  484.                     In the above example, clients are allowed access monday
  485.                     through friday from 8am to 5pm.
  486.  
  487.                     The timerange command may be specified multiple times
  488.                     if desired.
  489.  
  490.                     The readonly command specifies that all clients within
  491.                     this class have readonly access to the Novell Netware
  492.                     server. Even if a particular user has trustee rights
  493.                     which grant him write access, this setting disables all
  494.                     commands which may alter data on the server. 
  495.  
  496.           Deny
  497.                     The deny command lists those servers and/or users who
  498.                     should be denied access within this class.  The format
  499.                     of the command is:
  500.  
  501.                          deny      [server/]user
  502.  
  503.                     Where server/ is an optional server name. If the server
  504.                     is not specified, it applies to the server on which the
  505.                     FTPD NLM is operating. Both server and user may be the
  506.                     wildcard (*), meaning all servers or all users
  507.                     respectively.
  508.  
  509.                     For example, suppose you had defined a class for all
  510.                     local clients. That class would have no restrictions of
  511.                     any kind. You may then wish to add access restrictions
  512.                     for the default class which would apply to any non-
  513.                     local client. If you don't want to allow any non-local
  514.                     clients to have access to any of your Novell Servers,
  515.                     you could issue the following two commands in the
  516.                     configuration file:
  517.  
  518.                          class     default
  519.                               deny      */*
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.                                                                           7
  528.  
  529.           Allow
  530.                     The allow command lists those servers and/or users
  531.                     which should be allowed access within this class. This
  532.                     command over-rides any previous deny command. The
  533.                     format of the command is:
  534.  
  535.                          allow          [server/]user       optional
  536.                                                             settings
  537.  
  538.                     Where server/ is an optional server name. If the server
  539.                     is not specified, it applies to the server on which the
  540.                     FTPD NLM is operating. Both server and user may be the
  541.                     wildcard (*), meaning all servers or all users
  542.                     respectively.
  543.  
  544.                     The optional settings argument is a list of
  545.                     settings sub-commands which should be applied to this
  546.                     server/user. If any optional settings sub-commands are
  547.                     listed, then all settings for the class are ignored for
  548.                     this user. Therefore any settings which apply to the
  549.                     class, which should also apply to the server/user must
  550.                     be repeated on this line. 
  551.  
  552.                     For example, suppose a particular class had a setting
  553.                     timerange of mon-fri/8-17 If you wanted to grant
  554.                     readonly access for a particular user but maintain the
  555.                     timerange, the class definition would look something
  556.                     like the following:
  557.  
  558.                          class          example
  559.                               settings  timerange mon-fri/8-17
  560.                               allow          FS1/guest readonly, timerange
  561.                                                        mon-fri/8-17
  562.  
  563.                     If the timerange command were not repeated on the allow
  564.                     line, then the user FS1/guest would not have any
  565.                     timerange limit because any setting sub-command on the
  566.                     allow command line overrides all setting sub-commands
  567.                     for the class.
  568.  
  569.           Deny/Allow Ordering
  570.  
  571.                     The order of the deny and allow commands within the
  572.                     class is important. All class definitions begin with an
  573.                     implied allow */*.  Access checking follows the list of
  574.                     deny/allow commands in the order in which they are
  575.                     encountered within the configuration file. Deny
  576.                     commands mask out access, where allow commands add in
  577.                     access.  The first deny command which explicitely
  578.                     matches the target userid terminates the search.
  579.                     Wildcard deny's do not terminate the search, instead
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.                                                                           8
  588.  
  589.                     subsequent wildcard allows or explicit allows may over-
  590.                     ride the previously encountered deny command.
  591.  
  592.                     When the last deny/allow command is encountered in the
  593.                     class, the logical result determines whether or not
  594.                     access is allowed and which settings are applied.
  595.  
  596.                     For example, if you wanted to grant all users access to
  597.                     a particular server with readonly access,  but you
  598.                     wanted the supervisor to have full access, the
  599.                     following would be a possible configuration file entry.
  600.  
  601.                          allow          */*       readonly
  602.                          allow          */supervisor
  603.  
  604.                     If the order of the above commands were reversed, the
  605.                     supervisor would have readonly access because the */*
  606.                     mask also applies to the supervisor.
  607.  
  608.  
  609.  
  610.           MaxConnections
  611.  
  612.                     This command specifies the maximum number of
  613.                     simultaneous client connections. For the limited timed
  614.                     demo version of this program, the maximum number of
  615.                     connections is silently forced to two (2) or less. In
  616.                     the licensed version, the maximum number of connections
  617.                     is thirty-two (32).
  618.  
  619.                     If this command is not specified, the default number of
  620.                     connections is (2) in the limited timed demo version,
  621.                     and (5) in the licensed version.
  622.  
  623.                     Example:
  624.                          maxconnections 3
  625.  
  626.           ScreenDelay
  627.  
  628.                     This command specifies the number of seconds between
  629.                     monitor screen updates. If this command is not
  630.                     specified, the default is (2) seconds between screen
  631.                     refreshes. The minimum allowable value is (1). Too low
  632.                     a value may increase server utilization if there are
  633.                     many active connections. A value between (2) and (5) is
  634.                     recommended.
  635.  
  636.                     Example:
  637.                          screendelay         5
  638.  
  639.           LogFile
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.                                                                           9
  648.  
  649.                     This command specifies the name of the system-wide log
  650.                     file. The system-wide logfile is where transactions
  651.                     will be logged for those users or classes for which no
  652.                     logfile command has been specified. The logfile name
  653.                     must be the full-path name of the log file. If this
  654.                     command is not specified, the default is
  655.                     sys:system\ftpd.log
  656.  
  657.                     Example:
  658.                          logfile             sys:system\access.log
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.                                                                          10
  667.  
  668.           Operation
  669.  
  670.           Command Line Options
  671.  
  672.                     The FTPD NLM recognizes several command line arguments
  673.                     which can be provided during the load phase.
  674.  
  675.  
  676.                          /config   config_file    Specifies the path to an
  677.                                                   alternate configuration
  678.                                                   file, instead of the
  679.                                                   default
  680.                                                   sys:system\ftpd.cfg
  681.  
  682.                          /keyfile  key_file  Specifies the path to an
  683.                                              alternate key file instead of
  684.                                              the default
  685.                                              sys:system\ftpd.key
  686.  
  687.                          /delay         delay_time     Specifies the
  688.                                                        monitor screen
  689.                                                        update delay in
  690.                                                        seconds. Overrides
  691.                                                        any value specified
  692.                                                        in the configuration
  693.                                                        file.
  694.  
  695.                          /max      count          Specifies the maximum
  696.                                                   number of connections.
  697.                                                   Overrides any value
  698.                                                   specified in the
  699.                                                   configuration file.
  700.  
  701.                          /display            Enables the monitor display.
  702.                                              By default the monitor display
  703.                                              is not shown. Using this
  704.                                              switch causes the display to
  705.                                              appear when the NLM is loaded.
  706.  
  707.                     Example:
  708.                               load ftpd /display  /delay 5  /max 3
  709.  
  710.                     This command line loads the FTPD NLM, enables the
  711.                     monitor display with an update frequency of 5 seconds
  712.                     and a maximum of 3 connections.
  713.  
  714.           Console Commands
  715.  
  716.                     The FTPD NLM provides an additional set of console
  717.                     commands which can be entered at the NW386 console
  718.                     prompt. All of the following commands are prefixed with
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.                                                                          11
  727.  
  728.                     the keyword  ftpd, which indicates that the command is
  729.                     for the FTPD NLM.
  730.  
  731.  
  732.                          ftpd disable             This console command
  733.                                                   disables new incoming
  734.                                                   connections. Current
  735.                                                   connections are not
  736.                                                   effected.
  737.  
  738.                          ftpd enable              This console command
  739.                                                   enables the FTPD,
  740.                                                   allowing additional
  741.                                                   incoming connections.
  742.  
  743.                          ftpd serialnum      This console command displays
  744.                                              serial number and application
  745.                                              information required to
  746.                                              register your copy of the FTPD
  747.                                              NLM.
  748.  
  749.                          ftpd displayon      This console command enables
  750.                                              the monitor display.
  751.  
  752.                          ftpd displayoff          This console command
  753.                                                   disables the monitor
  754.                                                   display.
  755.  
  756.                          ftpd delay     delay_time     This console command
  757.                                                        sets the monitor
  758.                                                        display delay time
  759.                                                        to delay_time
  760.                                                        seconds. 
  761.  
  762.                          ftpd reconfig  config_file    This console command
  763.                                                        causes the NLM to
  764.                                                        reload the
  765.                                                        configuration file.
  766.                                                        If an optional
  767.                                                        configuration file
  768.                                                        name is provided
  769.                                                        after the command,
  770.                                                        then that file is
  771.                                                        used instead of the
  772.                                                        default
  773.                                                        sys:system\ftpd.cfg
  774.  
  775.                                              This command is only allowed
  776.                                              when there are no active
  777.                                              connections.
  778.  
  779.           Monitor Display
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.                                                                          12
  788.  
  789.                     The FTPD NLM provides a near real-time display of
  790.                     current connections. To make use of the display you
  791.                     must enable it either by using the /display command
  792.                     line option or the ftpd displayon console command.
  793.  
  794.                     The monitor display shows the first eleven (11)
  795.                     connections. Each connection occupies two lines of the
  796.                     display. The format of the display is as follows:
  797.  
  798.            client_host_name                        | last_command | username
  799.            files     | bytes   | Kb/sec  | connect | idle_time    | last arg
  800.  
  801.  
  802.                          client_host_name         Displays the client host
  803.                                                   name, if known, otherwise
  804.                                                   it displays the client IP
  805.                                                   address.
  806.  
  807.                          last_command        Displays the last FTP command
  808.                                              issued by the client.
  809.  
  810.                          username            Displays the SERVER/USERNAME
  811.                                              under which the client has
  812.                                              logged in. If the username
  813.                                              corresponds to a no-password
  814.                                              anonymous account, the symbol
  815.                                              *A* also appears in this
  816.                                              field.
  817.  
  818.                          files                    Displays the count of
  819.                                                   files transferred by the
  820.                                                   client during this
  821.                                                   session.
  822.  
  823.                          bytes                    Displays the total byte
  824.                                                   count transferred by the
  825.                                                   client during this
  826.                                                   session.
  827.  
  828.                          KB/sec              Displays the average KB/Sec
  829.                                              for all files transferred by
  830.                                              the client.
  831.  
  832.                          connect             Displays the total client
  833.                                              connect time in HH:MM:SS
  834.                                              format.
  835.  
  836.                          idle_time           Displays the current client
  837.                                              idle time in HH:MM:SS format.
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.                                                                          13
  846.  
  847.                          last_arg            Displays the argument for the
  848.                                              last FTP protocol command
  849.                                              issued by the client.
  850.  
  851.  
  852.           Home Directories
  853.  
  854.                     When a client logs in to a Netware server, the FTPD NLM
  855.                     examines the bindery information for that userid.  The
  856.                     NLM looks for a bindery property of the name HOME_DIR.
  857.                     If this bindery property is found, it executes an
  858.                     automatic chdir to value of that property. This
  859.                     provides a means to specify a `home directory' for each
  860.                     user. There are several freeware utilities which
  861.                     provide the tools required to set this value, including
  862.                     David Harris' SETHOME package available from most
  863.                     Novell oriented FTP sites and BBSs.
  864.  
  865.                     If the HOME_DIR property is not found, the FTPD NLM
  866.                     scans the Trustee Paths for that userid. If any Trustee
  867.                     Path has a trailing directory component which matches
  868.                     the userid (or nearly matches) then that Trustee Path
  869.                     is chosen as a home directory.
  870.  
  871.                     For example, given the account anonymous with the
  872.                     following Trustee Paths:
  873.  
  874.                          sys:mail/0023023
  875.                          sys:usr/anony
  876.  
  877.                     The FTPD NLM would select the Trustee Path
  878.                     sys:usr/anony as the home directory for the anonymous
  879.                     userid.
  880.  
  881.  
  882.           User Commands
  883.  
  884.                     The FTPD NLM provides the usual FTP command services.
  885.                     This version offers one additional site specific
  886.                     command:
  887.  
  888.                          site tp
  889.  
  890.                     This site specific command causes the NLM to list the
  891.                     trustee paths available to the user. A typical unix
  892.                     client can issue this command by using the FTP client
  893.                     quote command:
  894.  
  895.                          quote site tp
  896.  
  897.                     Additionally, the user can return to their
  898.                     HOME_DIRECTORY by issuing the command:
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.                                                                          14
  907.  
  908.                          cwd ~
  909.  
  910.                     The FTPD NLM recognizes the token (~) as meaning the
  911.                     home directory chosen for this user during the login
  912.                     sequence. An error message is returned if no suitable
  913.                     home directory could be found.
  914.  
  915.           Anonymous Accounts
  916.  
  917.                     The FTPD NLM fully supports so-called `anonymous'
  918.                     client connections. A typical anonymous client accesses
  919.                     the server with the username of `anonymous', at which
  920.                     point the server prompts the user for an email address
  921.                     or other identifier instead of requesting a password.
  922.                     This allows users to access the server without having
  923.                     to know a special password. The FTPD NLM will record
  924.                     the user supplied address/password to the log file if
  925.                     logging is enabled for the anonymous account.
  926.  
  927.                     The FTPD NLM considers any account which has no
  928.                     password to be an anonymous account.  Therefore the
  929.                     actual account name `anonymous' has no special
  930.                     signifigance to the FTPD NLM.
  931.  
  932.                     The following steps are recommended when setting up an
  933.                     anonymous account:
  934.  
  935.                          A.   Use syscon to create a user account named
  936.                               `anonymous'
  937.                          B.   Remove the user from all groups (including
  938.                               EVERYONE)
  939.                          C.   Create a station restriction for the account
  940.                               which will inhibit any workstation from
  941.                               logging into the account.
  942.                          D.   Make the password for the account be empty,
  943.                               and do not require a password for the
  944.                               account.
  945.                          E.   Make the account a trustee for a secure
  946.                               directory with [R F] rights only.
  947.                          F.   Remote the account's access rights to it's
  948.                               sys:mail directory.
  949.                          G.   Use the SETHOME freeware utility to set the
  950.                               home directory for this account to match the
  951.                               secure directory.
  952.  
  953.                     When a remote user logs into the server by specifying a
  954.                     userid of `anonymous', they will be prompted for an
  955.                     email address because the FTPD NLM will realize that
  956.                     the account has no password.  After the user provides
  957.                     an email address the default current directory will be
  958.                     set to the secure directory.
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.                                                                          15
  967.  
  968.           Proxy Connections
  969.  
  970.                     The FTPD NLM provides `proxy' FTP service to older,
  971.                     non-Netware 386 servers.
  972.  
  973.           Security Considerations
  974.  
  975.                     The FTPD NLM does not inherently make your Novell
  976.                     server less secure. It does, however, add another
  977.                     avenue of attack into your server. Prudent use of the
  978.                     FTPD.CFG file will ensure that remote users do not
  979.                     violate the integrity of your system. 
  980.  
  981.                     The FTPD NLM attempts to resist password cracking
  982.                     schemes by disconnecting any connection which enters an
  983.                     incorrect password three times in a row. ie:, after the
  984.                     third incorrectly entered password the user is
  985.                     disconnected and a warning message is written to the
  986.                     server console. Also, on the second and third login
  987.                     attempts (after the first incorrect password) the FTPD
  988.                     NLM delays the login process by three and six seconds
  989.                     respectively in an effort to slow down any password
  990.                     cracking program.
  991.  
  992.                     If fifteen incorrect passwords are entered without an
  993.                     intervening correct login (on any server, for any
  994.                     account), then the FTPD NLM also broadcasts a warning
  995.                     message to all users attached to the file server. This
  996.                     serves to alert the supervisor or another responsible
  997.                     party that the file server is under attack from a
  998.                     password cracking program.
  999.  
  1000.                     Finally, accounts whose password has expired are denied
  1001.                     access to the server (whereas the Netware shell would
  1002.                     normally allow access and prompt for a new password).
  1003.  
  1004.                     Following are some suggestions to improve security on
  1005.                     your server.
  1006.  
  1007.                          A.   The NLM environment does not recognize
  1008.                               station restrictions on the local server. If
  1009.                               you have accounts that have station
  1010.                               restrictions, and you do not wish those
  1011.                               accounts to be able to access the server via
  1012.                               FTP, you must explicitely deny those accounts
  1013.                               access because the NLM can not recognize
  1014.                               station restrictions on the local server.
  1015.  
  1016.                               Station restrictions are recognized on remote
  1017.                               servers. If a remote server specifies a
  1018.                               station restriction for an account which
  1019.                               should have FTP access, you must add the
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.                                                                          16
  1028.  
  1029.                               network address of the local server to the
  1030.                               station restriction list of the remote
  1031.                               server. You can obtain the station address of
  1032.                               the local server by executing the slist
  1033.                               command from the DOS prompt and noting the
  1034.                               address for the local server.
  1035.  
  1036.                          B.   Intruder detection lockout may disable an
  1037.                               account if excessive invalid passwords are
  1038.                               entered. The FTPD NLM attempts to access an
  1039.                               account twice for each login, the first time
  1040.                               with no password (to see if the account is an
  1041.                               `anonymous' account) and the second time to
  1042.                               actually log in the user (if a password was
  1043.                               required). On remote servers there is no
  1044.                               other way to determine if a password is
  1045.                               required for an account.
  1046.  
  1047.                               Therefore, for each attempted login where an
  1048.                               invalid password is specified the NLM
  1049.                               actually attempts two logins to the specified
  1050.                               account. If the intruder lockout detection
  1051.                               count value is set too low, accounts may get
  1052.                               locked prematurely.
  1053.  
  1054.                               Additionally, malicous users may
  1055.                               intentionally issue invalid passwords in an
  1056.                               attempt to lock an account. This problem is
  1057.                               not specific to the FTPD NLM, as any user on
  1058.                               a workstation may do the same thing.
  1059.  
  1060.                               To avoid locking the supervisor's account or
  1061.                               other important accounts, you should
  1062.                               explicitely deny access to those accounts in
  1063.                               the ftpd.cfg file. Accounts which are
  1064.                               `denied' are immediately rejected without a
  1065.                               login attempt.
  1066.  
  1067.                          C.   Be sure that users granted access via FTP
  1068.                               have the appropriate rights to directories on
  1069.                               the server. This is especially important with
  1070.                               `anonymous' accounts which might accidentally
  1071.                               be left in the EVERYONE group.  Judicious use
  1072.                               of the readonly attribute will ensure that
  1073.                               data is not lost if password secrecy is
  1074.                               compromised.
  1075.  
  1076.                          D.   Be careful if your server is reachable from
  1077.                               the Internet or other wide-area networks. If
  1078.                               you have, until recently, counted on the non-
  1079.                               routed aspect of IPX for security, be aware
  1080.                               that once connected to the Internet your
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.                                                                          17
  1089.  
  1090.                               server becomes reachable from places you've
  1091.                               probably never heard of. The best course of
  1092.                               action when first enabling FTP is to deny all
  1093.                               users, then expressly allow only those
  1094.                               accounts which require FTP access. Of those
  1095.                               accounts requiring access, grant
  1096.                               readonly access to those accounts which do
  1097.                               not need to write to the file server.
  1098.  
  1099.                          E.   You should maintain a logfile of all
  1100.                               transactions, or at the very least log all
  1101.                               login/logout activity. Examine this logfile
  1102.                               on a periodic basis and note accesses from
  1103.                               address which seem inappropriate.
  1104.  
  1105.  
  1106.                          F.   If you want to totally inhibit all `non-
  1107.                               local' ftp connections, create a class for
  1108.                               `local' addresses. In the `local' class,
  1109.                               configure the deny/allow settings as
  1110.                               described previously. Then create a default
  1111.                               class which deny's all users on all servers.
  1112.  
  1113.                               Example:
  1114.                                    class default
  1115.                                         deny */*
  1116.  
  1117.                                    class local
  1118.                                         addresses *.mydomain.com
  1119.                                         addresses 129.136.*.*
  1120.                                         deny      */*
  1121.                                         allow     bill
  1122.                                         allow     tom
  1123.                                         settings  log 10
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.                                                                          18
  1132.  
  1133.           Performance
  1134.  
  1135.                     This section of the manual describes the memory
  1136.                     requirements and expected performance of the FTPD NLM.
  1137.                     It describes how we tested and developed the NLM. You
  1138.                     do not have to read this section to make use of the
  1139.                     FTPD NLM.
  1140.  
  1141.  
  1142.           How We Test
  1143.  
  1144.                     The FTPD NLM was tested `in-house' on two NW386 file
  1145.                     servers, one a 386/33 with 4 megabytes of ram, the
  1146.                     other a 486/33 with 8 megabytes of ram. In all cases
  1147.                     the client was a 486/33 running Dell Computer
  1148.                     Corporation's OEM version of USL SYSVR4 Unix . 
  1149.  
  1150.                     A series of test `scripts' were used (the
  1151.                     expect package for Unix implemented the scripts) which
  1152.                     exercised all functions within the NLM, the expected
  1153.                     return codes and the file transfer operations.
  1154.  
  1155.                     These scripts were executed multiple times, simulating
  1156.                     simultaneous clients. The scripts also repeatedly used
  1157.                     the mget and mput operation in an effort to place the
  1158.                     maximum load on the Netware server.
  1159.  
  1160.                     All scripts were executed with the FTPD NLM running
  1161.                     with and without protect.nlm1 Additionally, a select
  1162.                     group of beta testers have tested this NLM in several
  1163.                     different environments.
  1164.  
  1165.           Memory Requirements
  1166.  
  1167.                     This version has the following memory requirements
  1168.                     (values are approximate). This information was gleaned
  1169.                     from monitor.nlm under the Resource Utilization
  1170.                     section.
  1171.  
  1172.                Base Memory    NLM size       13 K bytes
  1173.                               Base Socket    9.5 K bytes
  1174.                Each Client                   13 K bytes additional
  1175.                Monitor Screen                8 K bytes additional
  1176.                Each Transaction              32 bytes plus filename size
  1177.  
  1178.                     Using the above information, the maximum amount of
  1179.                     memory used by the NLM can be determined. 
  1180.                               
  1181.  
  1182.                1Protect.nlm is provided with the Netware C for NLMS kit.
  1183.           This NLM detects memory accesses outside the area set aside for
  1184.           the NLM.
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.                                                                          19
  1193.  
  1194.                     For example, suppose a maximum of two connections was
  1195.                     allowed. If every client connection was to be logged
  1196.                     with a maximum of 100 transactions each, and if the
  1197.                     average filename size was 40 bytes, then the memory
  1198.                     usage would be as follows:
  1199.  
  1200.                          22.5 K         Base Memory
  1201.                          26 K           Two client connections
  1202.                          (32 + 40) * 200     Maximum log entries stored in
  1203.                                              memory
  1204.                          -------------
  1205.                          64 K bytes          Total memory used
  1206.  
  1207.                     The transaction entries are stored in memory until the
  1208.                     client logs out, at which time the client thread gains
  1209.                     back its supervisor privileges, allowing it to write to
  1210.                     the log file in sys:system.
  1211.  
  1212.  
  1213.           Processor Utilization
  1214.  
  1215.                     Processor utilization information was obtained by
  1216.                     loading monitor.nlm with the -p command line option
  1217.  
  1218.                               load monitor -p
  1219.  
  1220.                     The test process used a 5 megabyte PostScript file for
  1221.                     transfer. The file was read multiple times, noting the
  1222.                     maximum utilization figure ever shown on the monitor
  1223.                     display, along with the maximum percentage utilization
  1224.                     per process. The Netware server was a 486/33 with 8
  1225.                     megabytes of Ram and an ESDI disk running through an
  1226.                     Ultrastor 12F controller.
  1227.  
  1228.                     The test file was transferred in both directions using
  1229.                     binary and ascii mode. As expected, ascii transfer had
  1230.                     a higher utilization due to the extra processing
  1231.                     involved.
  1232.  
  1233.                     The test was executed on a private ethernet connection,
  1234.                     the server used a Racal-Interlan NI6510 lan card, the
  1235.                     client (SYSVR4 Unix on 486/33) used a Western Digital
  1236.                     (SMC) WD8003EBT lan card.
  1237.  
  1238.                     Utilization is proportional to throughput. The FTPD NLM
  1239.                     contains no throttling component, therefore it will use
  1240.                     maximum server resources during transfers in an effort
  1241.                     to supply the client as quickly as possible.
  1242.  
  1243.                     Idle connections cause zero server utilization.
  1244.                     However, if the monitor display is enabled and the
  1245.                     screen update delay is low (less than 3 seconds) and
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.                                                                          20
  1254.  
  1255.                     there are several connections, then the utilization
  1256.                     from that component will be approximately 2 - 5
  1257.                     depending on screen update delay.
  1258.  
  1259.  
  1260.                                            %                     %          %
  1261.                                                Utilizat       %
  1262.                           Client     Server                          Utilizat   Utilizat
  1263.                Operatio                           ion     Utilizat
  1264.                          Throughp   Utilizat                         ion from   ion from
  1265.                   n                              from     ion from
  1266.                             ut         ion                           LAN Card     DISK
  1267.                                                  FTPD      TCP NLM     Ints       Ints
  1268.  
  1269.                 Binary      330
  1270.                                        82         13%        4%         9%         51%
  1271.                  Put      KB/sec
  1272.  
  1273.                 Ascii       220
  1274.                                        90         48%        3%         6%         30%
  1275.                  Put      KB/sec
  1276.  
  1277.                 Binary      400        50         30%        4%         12%        --2
  1278.                  Get      KB/sec
  1279.                 Ascii       190
  1280.                                        63         58%        2%         5%         --
  1281.                  Get      KB/sec
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.                               
  1310.  
  1311.                2Get operations had negligible disk interrupts because the
  1312.           file had been cached in memory.
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.                                                                          21
  1321.  
  1322.           How to Get Support
  1323.  
  1324.                     At this point in time MurkWorks is unable to provide
  1325.                     telephone support. We are keeping our product costs
  1326.                     down by reducing the manpower that would be required to
  1327.                     man a telephone. Hopefully this will change in the
  1328.                     future.
  1329.  
  1330.                     In the meantime, the best method for obtaining support
  1331.                     is by sending us electronic mail to our Internet
  1332.                     address: 
  1333.  
  1334.                               support@murkworks.com
  1335.  
  1336.                     If you are on compuserve, you can send us mail using
  1337.                     the address:
  1338.  
  1339.                               internet:support@murkworks.com
  1340.  
  1341.                     If you are not a licensed user, we may not be able to
  1342.                     answer questions pertaining to installation problems or
  1343.                     configuration issues. If you have found what you
  1344.                     consider to be a problem with the FTPD NLM, please feel
  1345.                     free to write to us with detailed information about the
  1346.                     problem, your environment, and the commands issued
  1347.                     which caused the problem. Be sure to include the
  1348.                     current version number of the NLM when you write.
  1349.  
  1350.                     You can always write to us:
  1351.  
  1352.                          MurkWorks
  1353.                          P.O. Box 631
  1354.                          Potsdam, NY 13676-0631  USA
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.                                                                          22
  1363.  
  1364.                                       Appendix A
  1365.                               Sample Configuration File
  1366.  
  1367.            # Sample FTPD.CFG file for FTPD.NLM   
  1368.            #
  1369.            # lines beginning with # are comments.
  1370.  
  1371.            maxconnections 5    # specify max # connections 
  1372.                           # forced to 2 or less in DEMO mode
  1373.  
  1374.            screendelay    2    # set delay in seconds between status
  1375.                           # screen updates
  1376.  
  1377.            logfile        sys:system\logfile.ftp
  1378.                           # specify alternate logfile
  1379.  
  1380.            # The following lines are examples. Modify to 
  1381.            # suite your needs and delete any remaining lines 
  1382.            # that do not apply
  1383.  
  1384.            #####################################################
  1385.            #                DEFAULT CLASS                 
  1386.            #                               
  1387.            #   The following class conditions will be used if
  1388.            #   the incoming IP address (or name) doesn't match
  1389.            #   any other class                   
  1390.            #####################################################
  1391.            # The following class allows access to all users on 
  1392.            # all servers accept for bkc (on any server). Once 
  1393.            # connected, users may be idle up to 2 minutes, and
  1394.            # connected for at most 10 minutes. They can only login
  1395.            # mon-fri and they are only allowed readonly access
  1396.  
  1397.            class     default
  1398.                 deny */bkc
  1399.                 settings  connect 10, idle 2 +
  1400.                           timerange mon-fri/0-23 +
  1401.                           readonly
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.                                                                               23
  1410.  
  1411.            #########################################################
  1412.            #    CLASS DOM.MURK.COM
  1413.            #                
  1414.            # The following class is used if the client IP address 
  1415.            # is in subnet 20
  1416.            # or any name ending in dom.murk.com
  1417.            #########################################################
  1418.            # Access to all servers is denied, accept for access to 
  1419.            # server GIMP,  which allows all users. However users can 
  1420.            # only login mon-fri between 10PM and 5AM, or
  1421.            # any time saturday and sunday
  1422.  
  1423.            class     dom_murk_com
  1424.                 address   *.dom.murk.com
  1425.                 address   113.121.20.*
  1426.                 deny */*
  1427.                 allow     gimp/*
  1428.                 settings  timerange mon-fri/22-5 +
  1429.                           timerange sat-sun/0-23
  1430.  
  1431.            ##########################################################
  1432.            #    CLASS MURKWORKS                           
  1433.            #                                    
  1434.            # This class is used if the client IP address is in class 
  1435.            # B network 113.121 or its IP name ends in murk.com      
  1436.            # NOTE: Class dom.murk.com has precidence over this class as
  1437.            # appropriate since it is more specific              
  1438.            ##########################################################
  1439.            # This class allows access to any user on THIS SERVER ONLY
  1440.            # All users except for bkc have readonly access and can only login 
  1441.            # on weekends between 10am and 9pm
  1442.            # User bkc has access only on the weekends
  1443.            # In either case, all read/write operations will be logged to 
  1444.            # the file vol1:usr\fred\logfile.ftp
  1445.  
  1446.            class     murkworks
  1447.                 address   113.121.*.*
  1448.                 address   *.murk.com
  1449.                 deny */*
  1450.                 allow     *    readonly timerange sun-sat/10-21
  1451.                 allow     bkc  timerange sat-sun/0-23
  1452.                 settings       log 25 +
  1453.                            logfile vol1:usr\fred\logfile.ftp
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.                                                                               24
  1462.  
  1463.                                              Appendix B
  1464.                                        Supported FTP Commands
  1465.  
  1466.  
  1467.                     The following FTP commands are supported. Be aware that
  1468.                     these are protocol level commands and are not necessarily
  1469.                     the commands that a user would type at the command line of
  1470.                     their client.
  1471.  
  1472.  
  1473.                     USER  PORT  RETR  ALLO  PASS  STOR  CWD   XCWD  XPWD  
  1474.                     LIST  NLST  HELP  QUIT  MODE  TYPE  STRU  ACCT  NOOP  
  1475.                     RMD   MKD   DELE  SITE
  1476.  
  1477.  
  1478.                     The site specific command supported in this version is:
  1479.  
  1480.                          SITE TP
  1481.  
  1482.                     This command returns a list of trustee paths.
  1483.